/*
 Input
测试数据有多行，每一行为一个数N(1<=N<=10)(以0结尾,0不做处理)，即仙人球在没有回到起点的时候，跑过留下N个残影后突然90°右转。
Output
每组测试数据输出一个结果，并且每个残影的计数位长度为3个字符长度。（当然N等于1的话，它的结果也是占用3个字符位置的）
Sample Input
4
Sample Output
  1  2  3  4
 12        5
 11        6
 10  9  8  7
 */
package com.yuan.algorithms.practice201504;

import java.util.Scanner;

public class 打印图形_空心矩形 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			int n = sc.nextInt();
			if (n==0) {
				break;
			}else if (n==1) {
				System.out.println("  1");
				continue;
			}
			int ys = 1,zx = n * 4 - 4;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < n; j++) {
					if (i==0) {
						if (ys>9) {
							System.out.print(" "+ys);
							ys++;
						}else {
							System.out.print("  "+ys);
							ys++;
						}
					}else if (j==0 && i>0) {
						if (zx>9) {
							System.out.print(" "+zx);
						}else {
							System.out.print("  "+zx);
						}
						zx--;
					}else if (i>0 && j==n-1) {
						if (ys>9) {
							System.out.print(" "+ys);
							ys++;
						}else {
							System.out.print("  "+ys);
							ys++;
						}
					}else if (i==n-1 && j>0 && j < n-1) {
						if (zx>9) {
							System.out.print(" "+zx);
						}else {
							System.out.print("  "+zx);
						}
						zx--;
					}else {
						System.out.print("   ");
					}
				}
				System.out.println();
			}
		}

	}

}
